package com.weiiew.calculationService.craft;

import com.example.feignapi.client.ItemClient;
import com.example.feignapi.client.RecipeClient;
import com.weiiew.calculationService.element.elGraph;
import com.weiiew.common.entity.factory.Factory;
import com.weiiew.common.exception.LockItemException;

/**
 * @Description 实现计算功能
 * @Author 魏锴
 * @Date 2025/3/6
 */
public interface CraftCalculator {
    void setRecipeService(RecipeClient recipeService);
    void setItemService(ItemClient itemService);
    final class NodePrefix {
        static final String INGREDIENT = "i-";
        static final String PRODUCT = "p-";
        static final String RECIPE = "r-";
        static final String WASTE = "m-";
    }
    elGraph calculation(Factory factory, int version) throws LockItemException;
}
